package com.zw.a.basic.a03.demo01_for;

//案例: for循环打印数字
/*
    格式:
        for(初始化条件1; 判断条件2; 控制条件3) {
            循环体4;
        }
     执行顺序:
        第一次循环:   1, 2, 4, 3
        重复循环:     2, 4, 3
        最后一次循环: 2           //判断条件为false, 则循环结束.
 */
public class ForDemo02 {
    public static void main(String[] args) {
        //1.通过for循环, 打印1~5之间的数字.
        /*
            思路分析:
                初始化条件:  int i = 1;
                控制条件:    i++
                判断条件:    i <= 5
                循环体:      sop(i);            //i的变化: 1,2,3,4,5
         */
        /*
            执行流程:
                第一次循环: i = 1,   1 <= 5  条件成立(true),     sop(1),   i++  ->  i=2
                第二次循环: i = 2,   2 <= 5  条件成立(true),     sop(2),   i++  ->  i=3
                第三次循环: i = 3,   3 <= 5  条件成立(true),     sop(3),   i++  ->  i=4
                第四次循环: i = 4,   4 <= 5  条件成立(true),     sop(4),   i++  ->  i=5
                第五次循环: i = 5,   5 <= 5  条件成立(true),     sop(5),   i++  ->  i=6
                第六次循环: i = 6,   6 <= 5  条件不成立(false),  至此, 循环结束.
         */
        for (int i = 1; i <= 5; i++) {
            System.out.println(i);
        }
        System.out.println("----------------------------");

        //2.通过for循环, 打印5~1之间的数字.
        /*
            初始化条件:  int i = 5;
            控制条件:    i--
            判断条件:    i >= 1     i > 0
            循环体:      sop(i);            //i的变化: 5, 4, 3, 2, 1
         */
        /*
            执行流程:
                第一次循环: i = 5,   5 >= 1  条件成立(true),     sop(5),   i--  ->  i=4
                第二次循环: i = 4,   4 >= 1  条件成立(true),     sop(4),   i--  ->  i=3
                第三次循环: i = 3,   3 >= 1  条件成立(true),     sop(3),   i--  ->  i=2
                第四次循环: i = 2,   2 >= 1  条件成立(true),     sop(2),   i--  ->  i=1
                第五次循环: i = 1,   1 >= 1  条件成立(true),     sop(1),   i--  ->  i=0
                第六次循环: i = 0,   0 >= 1  条件不成立(false),  至此, 循环结束.
         */
        for (int i = 5; i >= 1; i--) {
            System.out.println(i);
        }
    }
}
